Effects and effect inference for a core Java calculus

نویسندگان

  • Gavin M. Bierman
  • Matthew J. Parkinson
چکیده

An effects system can be used to delimit the scope of computational effects within a program. This information is not only useful for the programmer, but also can be used in the definition of a number of optimizations. Most effects systems have been defined for functional languages with simple state. Greenhouse and Boyland have recently suggested how an effects system could be used within Java. In this paper we take a core imperative calculus for Java, and consider its extension with an effects system, following the suggestions of Greenhouse and Boyland. We define formally the effects system and an instrumented operational semantics and prove the correctness of the effects system; a question left open by Greenhouse and Boyland. We also consider the question of effect inference for our calculus, detailing an algorithm for inferring effects information and prove it correct.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

MJ: An imperative core calculus for Java and Java with effects

In order to study rigorously object-oriented languages such as Java or C, a com-mon practice is to define lightweight fragments, or calculi, which are sufficiently smallto facilitate formal proofs of key properties. However many of the current proposals forcalculi lack important language features. In this paper we propose Middleweight Java,MJ, as a contender for a minimal im...

متن کامل

Extending the Qualitative Trajectory Calculus Based on the Concept of Accessibility of Moving Objects in the Paths

Qualitative spatial representation and reasoning are among the important capabilities in intelligent geospatial information system development. Although a large contribution to the study of moving objects has been attributed to the quantitative use and analysis of data, such calculations are ineffective when there is little inaccurate data on position and geometry or when explicitly explaining ...

متن کامل

A history of Floral diversity (pollen, spores and algal) during the latest Holocene in the Bandung basin based on palynological analysis in Cihideung, West Java, Indonesia

   Floral diversity is a measure of number of type flora in an area, and reflects how vegetation develops in response to the environmental condition during a certain time interval. The present study aims to examine changes in the diversity of vegetation (pollen, spores and algae), evenness, and similarity in the Bandung Basin through a core of 240 cm depth using a ground drill, as well as  the ...

متن کامل

Java & Lambda: a Featherweight Story

We present FJ&λ, a new core calculus that extends Featherweight Java (FJ) with interfaces, supporting multiple inheritance, λ-expressions, and intersection types. Our main goal is to formalise how lambdas and intersection types are grafted on Java 8, by studying their properties in a formal setting. We show how intersection types play a significant role in several cases, in particular in the ty...

متن کامل

A Type-based Trace Analysis for Java

The intersection type discipline (ITD) is a well established one in the field of the Lambda Calculus (LC) and the functional programming paradigm. It has also been extended to Term Rewriting Systems (TRS) and more recently to object calculi and sequent calculi. We continue this trend by applying the techniques of ITD to the analysis of the (class based) object-oriented (OO) programming paradigm...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Electr. Notes Theor. Comput. Sci.

دوره 82  شماره 

صفحات  -

تاریخ انتشار 2003